Refactor netconf-java to remove Lombok and improve Java compatibility#77
Refactor netconf-java to remove Lombok and improve Java compatibility#77ydnath merged 1 commit intoJuniper:masterfrom
Conversation
|
ah, check this out: [INFO] Scanning for projects... === Integration Tests Complete === |
- Removed all Lombok annotations and replaced with explicit builders, constructors, and accessors
- Fixed SpotBugs warnings (EI_EXPOSE_REP, UPM, DLS) with defensive copies and suppression annotations
- Improved XML parsing robustness and logging for better debuggability
- Removed unused or redundant private methods and variables
- Prepped codebase for modern Java versions (Java 17+ compatibility)
This refactor preserves public APIs but improves maintainability, static analysis, and future extensibility.
Highlights
• Gradle 8 / Java 17 compatibility
• Added Gradle wrapper & build instructions, updated .gitignore (build/)
• Upgraded SpotBugs to 6.x; replaced deprecated string→enum coercion
• Adopted Gradle Testing Suites DSL (useJUnitJupiter('5.11.1')) and removed manual JUnit deps
• Eliminated all empty <p> tags, malformed HTML, missing @param/@return, and default-ctor warnings
• Added @SuppressWarnings("unchecked") where parent class returns raw types
• Deprecated API cleanup
• Replaced MockitoAnnotations.initMocks with openMocks + AutoCloseable teardown
• README refresh
These changes remove all Javadoc/SpotBugs/Gradle deprecation warnings and prepare the project for Gradle 9 + Java 17 while keeping Maven support intact.
* Merged :confirmed-commit:1.1, cancel-commit & kill-session bullet-points
into the existing **v2.2.0** changelog
* Updated headline, feature list, build instructions (Gradle wrapper note),
and Maven/Gradle code snippet (try-with-resources)
Added Integration tests. You can use juniper crpd eval and run with docker/colima. Once you set up a basic config to enable ssh and netconf, you can run the integration tests
Added tests to validate RFC 6242 MUSTs
This refactor preserves public APIs but improves maintainability, static analysis, and future extensibility.